//package com.sskj.kafka;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.kafka.clients.consumer.ConsumerRecord;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.kafka.annotation.KafkaListener;
//import org.springframework.stereotype.Service;
//
//@Service
//@Slf4j
//public class KafkaConsumer {
//
//
//
//    @KafkaListener(topics = "my-topic", groupId = "my-group")
//    public void listen(String message) {
//       //如果你的方法参数是一个 String 类型，那么默认情况下，这个参数会被解析为消息的值（Value）
//       log.info("Received Message: {}" , message);
//    }
//
//
//    //如果你想同时获取消息的键（Key）和值（Value），可以使用 ConsumerRecord 对象。ConsumerRecord 包含了消息的所有信息，包括键、值、分区、偏移量等。
//    @KafkaListener(topics = "my-topic")
//    public void listen(ConsumerRecord<String, String> record) {
//        log.info("Received Message Key: " + record.key());
//        log.info("Received Message Value: " + record.value());
//        log.info("Partition: " + record.partition());
//        log.info("Offset: " + record.offset());
//    }
//
////    @KafkaListener(
////            topics = "my-topic",
////            containerFactory = "kafkaListenerContainerFactory"
////    )
////    public void listen(ConsumerRecord<String, String> record, Acknowledgment acknowledgment） {
////        log.info("Received Message: " + record.value());
////        // 处理消息
////        try {
////            // 模拟消息处理
////            Thread.sleep(1000);
////        } catch (InterruptedException e) {
////            e.printStackTrace();
////        }
////        // 手动提交偏移量 enable-auto-commit为false的话
////        acknowledgment.acknowledge();
////    }
//
//}
